x86 hvm: Make sure port 0x80 in hvm_io_table[] is set correctly
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 25 Jun 2009 12:51:40 +0000 (13:51 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 25 Jun 2009 12:51:40 +0000 (13:51 +0100)
regardless of execution order of hvm_enable() and check_port80().

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/hvm/quirks.c

index a49fa0d284a4515ecbcdb12ba7989830a6c8da13..1e08a2beba3c0f85c79cd67573ac1a13a2292069 100644 (file)
@@ -20,6 +20,8 @@
 #include <xen/init.h>
 #include <xen/lib.h>
 #include <xen/dmi.h>
+#include <xen/bitmap.h>
+#include <asm/hvm/support.h>
 
 int hvm_port80_allowed = -1;
 boolean_param("hvm_port80", hvm_port80_allowed);
@@ -88,6 +90,9 @@ static int __init check_port80(void)
 
     dmi_check_system(hvm_no_port80_dmi_table);
 
+    if ( !hvm_port80_allowed )
+        __set_bit(0x80, hvm_io_bitmap);
+
     return 0;
 }
 __initcall(check_port80);